package com.holyant.report.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.domain.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 运营报-模板dto
 * 
 * @author z
 * @date 2022-08-18
 */
@Data
@ApiModel("运营报-模板")
public class BiReportTplDto extends BaseDto {

    private static final long serialVersionUID = 1L;

    /** 模板编号 TPL+220807+0001 */
    @ApiModelProperty(value = "${comment}")
    private String tplNo;
    /** 模板名称 */
    @Excel(name = "模板名称")
    @ApiModelProperty(value = "模板名称")
    private String tplName;
    /** 模板示例图 */
    @Excel(name = "模板示例图")
    @ApiModelProperty(value = "模板示例图")
    private String tplImg;
    /** 指定操作时间范围 */
    @Excel(name = "指定操作时间范围")
    @ApiModelProperty(value = "指定操作时间范围")
    private List<Integer> opType;
    /** 指定订单类型范围 */
    @Excel(name = "指定订单类型范围")
    @ApiModelProperty(value = "指定订单类型范围")
    private List<Integer> orderType;
    /** 统计类型 10=主订单类型 20=订单明细类型 */
    @Excel(name = "统计类型 10=主订单类型 20=订单明细类型")
    @ApiModelProperty(value = "统计类型 10=主订单类型 20=订单明细类型")
    private Integer statType;
    /** 业务范围配置信息 */
    @Excel(name = "业务范围配置信息")
    @ApiModelProperty(value = "业务范围配置信息")
    private BiReportScopeDto scopes;
    /** 统计指标配置信息 */
    @Excel(name = "统计指标配置信息")
    @ApiModelProperty(value = "统计指标配置信息")
    private BiReportMetricDto metrics;
    /** 是否有汇总统计 1=是 0=否 */
    @Excel(name = "是否有汇总统计 1=是 0=否")
    @ApiModelProperty(value = "是否有汇总统计 1=是 0=否")
    private Integer hasTotalMetrics;
    /** 是否有多级表头 1=是 0=否 */
    @Excel(name = "是否有多级表头 1=是 0=否")
    @ApiModelProperty(value = "是否有多级表头 1=是 0=否")
    private Integer hasMultiColumn;
    /** 是否有平均值指标计算 1=是 0=否 */
    @Excel(name = "是否有平均值指标计算 1=是 0=否")
    @ApiModelProperty(value = "是否有平均值指标计算 1=是 0=否")
    private Integer hasAvgMetrics;
    /** 归属用户ID 0=全局共享 */
    @Excel(name = "归属用户ID 0=全局共享")
    @ApiModelProperty(value = "归属用户ID 0=全局共享")
    private Long ownerUid;
    /** 归属用户名 默认global */
    @Excel(name = "归属用户名 默认global")
    @ApiModelProperty(value = "归属用户名 默认global")
    private String ownerUname;
    /** 状态 0=草稿 10=待审核 20=审核通过 29=审核驳回 90=禁用 100=启用 */
    @Excel(name = "状态 0=草稿 10=待审核 20=审核通过 29=审核驳回 90=禁用 100=启用")
    @ApiModelProperty(value = "状态 0=草稿 10=待审核 20=审核通过 29=审核驳回 90=禁用 100=启用")
    private Integer state;
    /** 审核者 */
    @Excel(name = "审核者")
    @ApiModelProperty(value = "审核者")
    private String auditBy;
    /** 审核者ID */
    @Excel(name = "审核者ID")
    @ApiModelProperty(value = "审核者ID")
    private Long auditById;
    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "审核时间")
    private LocalDateTime auditTime;

    @ApiModelProperty(value = "表单")
    private List<BiBizScopeFormDto> forms;

    private Long ver;
}
